/*
 * HAL.hpp
 *
 *  Created on: Jun 6, 2016
 *      Author: Yang
 */

#ifndef HAL_HPP_
#define HAL_HPP_

#include "FreeRTOS.h"
#include "task.h"
#include "stm32f4xx_hal.h"
#include "Peripherals.hpp"
#include "GPIO.hpp"
#include "UARTDriver.hpp"
#include "Timer_delay.hpp"
#include "PWM/PWM.hpp"

class HAL
{
public:
    void RTOSdelay_ms(uint16_t time);
    void Hard_delay_ms(uint16_t time);
    void Hard_delay_us(uint16_t time);
    Timer_delay timer;
};

extern HAL hal;

void HAL_Task_Init(void);

#endif /* HAL_HPP_ */
